package com.kbbywyclient.ui.contarct;

import com.kbbywyclient.data.entity.MobileLoginOfRegist;
import com.kbbywyclient.data.entity.ModifyOfRegistPassWord;
import com.kbbywyclient.data.entity.RegistUser;
import com.kbbywyclient.ui.contarct.base.IBaseView;

/**
 * Created by FHW
 * on 2017/3/27
 */

public class RegisterContract {
    public interface View extends IBaseView {
        //验证手机号是否注册

        /**
         * 成功加载结果
         */
        void loadSucCheck(RegistUser registUser);

        /**
         * 失败加载结果
         *
         * @param errorMsg
         */
        void loadFaiCheck(String errorMsg);

        //获取验证码
        void loadSucCode(RegistUser registUser);

        void loadFaiCode(String errorMsg);

        //注册
//        void loadSucLoginOfRegist(MobileLoginOfRegist mobileLoginOfRegist);
        void loadSucLoginOfRegist(ModifyOfRegistPassWord modifyOfRegistPassWord);

        void loadFaiLoginOfRegist(String errorMsg);


        //提交注册

//        void loadSucModifyOfRegist(ModifyOfRegistPassWord modifyOfRegistPassWord);
        void loadSucModifyOfRegist(MobileLoginOfRegist mobileLoginOfRegist);

        void loadFaiModifyOfRegist(String errorMsg);

    }

    public interface Presenter {

        /**
         * @param Mobile
         * @param Type   类型,1检测手机号是否存在  不传则发送验证码
         */
        void sendOfCheckMobileCode(String Mobile, String Type);

        /**
         * @param SalesID      业务员ID
         * @param Mobile       手机号
         * @param Code         验证码
         * @param Device_Token 设备唯一码,用于友盟信息推送 可选
         * @param APPType      0为IOS,1安卓
         * @param CityName     注册时传过来
         */
        void getMobileCodeLoginOfRegist(String SalesID, String Mobile, String Code, String Device_Token, String APPType, String CityName);

        /**
         * @param SalesID
         * @param Mobile
         * @param PassWord
         * @param Type        修改类型 1为重设密码,Code必填,2为修改密码,OldPassWord必填.
         * @param Code
         * @param OldPassWord
         */
        void getModifyOfRegistPassWord(String SalesID, String Mobile, String PassWord, String Type, String Code, String OldPassWord);

        /**
         * 检测是否注册过（新）
         *
         * @param Mobile
         */
        void checkMobile(String Mobile);

        /**
         * 发送验证码（新）
         *
         * @param Mobile
         */
        void sendMobileCodeNews(String Mobile);

        /**
         * 注册
         *
         * @param Mobile
         * @param Code
         */
        void getMobileCodeRegister(String Mobile, String Code);

        /**
         * 提交注册
         *
         * @param Mobile
         * @param PassWord
         * @param Code
         * @param PassWord2
         * @param Device_Token
         * @param APPType
         * @param CityName
         */
        void getRegisterSetPassWord(String Mobile, String PassWord, String Code, String PassWord2, String Device_Token, String APPType, String CityName);

    }
}
